<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Model class for representing Salesforce Event Aggregate
 *
 * @author Mustafa
 */
class SalesForceEvent {
    /** @var string */
    private $Id;
    /** @var Date */
    private $ActivityDate;
    /** @var DateTime */
    private $ActivityDateTime;
    /** @var Array */
    private $Attendees;
    /** @var string */
    private $Description;
    /** @var DateTime */
    private $EndDateTime;
    /** @var boolean */
    private $IsAllDayEvent;
    /** @var boolean */
    private $IsDeleted;
    /** @var boolean */
    private $IsPrivate;
    /** @var boolean */
    private $IsRecurrence;
    /** @var boolean */
    private $IsReminderSet;
    /** @var string */
    private $Location;
    /** @var DateTime */
    private $LastModifiedDate;
    /** @var string */
    private $OwnerId;
    /** @var DateTime */
    private $ReminderDateTime;
    /** @var string */
    private $ShowAs;
    /** @var DateTime */
    private $StartDateTime;
    /** @var string */
    private $Subject;
    /** @var string */
    private $Type;
    /** @var string */
    private $WhoId;
    
    public function __construct(){
        
    }
    
    //~ Getters & setters

    /**
     * @return int <i>null</i> if not persistent
     */
    public function getId() {
        return $this->id;
    }

    public function setId($Id) {
        if ($this->Id !== null && $this->Id != $Id) {
            throw new Exception('Cannot change identifier to ' . $Id . ', already set to ' . $this->id);
        }
        $this->id = (string) $id;
    }
    
    /**
     * @return Date
     */
    public function getActivityDate() {
        return $this->activityDate;
    }

    public function setActivityDate(Date $activityDate) {
        $this->activityDate = $activityDate;
    }
    
    /**
     * @return DateTime
     */
    public function getActivityDateTime() {
        return $this->activityDateTime;
    }

    public function setActivityDateTime(DateTime $activityDateTime) {
        $this->activityDateTime = $activityDateTime;
    }
    
    /**
     * @return String
     */
    public function getDescription() {
        return $this->description;
    }

    public function setDescription($description) {
        $this->description = $description;
    }
    
    /**
     * @return DateTime
     */
    public function getEndDateTime() {
        return $this->endDateTime;
    }

    public function setEndDateTime(DateTime $endDateTime) {
        $this->endDateTime = $endDateTime;
    }
    
    /**
     * @return boolean
     */
    public function getIsAllDayEvent() {
        return $this->isAllDayEvent;
    }

    public function setIsAllDayEvent($isAllDayEvent) {
        $this->isAllDayEvent = (bool) $isAllDayEvent;
    }
    
    /**
     * @return boolean
     */
    public function getIsDeleted() {
        return $this->isAllDayEvent;
    }

    public function setIsDeleted($isDeleted) {
        $this->isDeleted = (bool) $isDeleted;
    }
    
    /**
     * @return boolean
     */
    public function getIsPrivate() {
        return $this->isPrivate;
    }

    public function setIsPrivate($isPrivate) {
        $this->isPrivate = (bool) $isPrivate;
    }
    
    /**
     * @return boolean
     */
    public function getIsRecurrence() {
        return $this->isRecurrence;
    }

    public function setIsRecurrence($isRecurrence) {
        $this->isRecurrence = (bool) $isRecurrence;
    }
    
    /**
     * @return boolean
     */
    public function getIsReminderSet() {
        return $this->isReminderSet;
    }

    public function setIsReminderSet($isReminderSet) {
        $this->isReminderSet = (bool) $isReminderSet;
    }
    
    /**
     * @return DateTime
     */
    public function getLastModifiedDate() {
        return $this->endDateTime;
    }

    public function setLastModifiedDate(DateTime $lastModifiedDate) {
        $this->lastModifiedDate = $lastModifiedDate;
    }
    
    /**
     * @return String
     */
    public function getLocation() {
        return $this->location;
    }

    public function setLocation($location) {
        $this->location = $location;
    }
    
    /**
     * @return String
     */
    public function getOwnerId() {
        return $this->ownerId;
    }
    
    public function setOwnerId($ownerId) {
        $this->ownerId = $ownerId;
    }
    
    /**
     * @return DateTime
     */
    public function geReminderDateTime() {
        return $this->endDateTime;
    }

    public function setReminderDateTime(DateTime $reminderDateTime) {
        $this->reminderDateTime = $reminderDateTime;
    }
    
    /**
     * @return String
     */
    public function getShowAs() {
        return $this->showAs;
    }
    
    public function setShowAs($showAs) {
        $this->showAs = $showAs;
    }
    
    /**
     * @return DateTime
     */
    public function geStartDateTime() {
        return $this->startDateTime;
    }

    public function setStartDateTime(DateTime $startDateTime) {
        $this->startDateTime = $startDateTime;
    }
    
    /**
     * @return String
     */
    public function getSubject() {
        return $this->subject;
    }
    
    public function setSubject($subject) {
        $this->subject = $subject;
    }
    
    /**
     * @return String
     */
    public function getType() {
        return $this->type;
    }
    
    public function setType($type) {
        $this->type = $type;
    }
    
    /**
     * @return String
     */
    public function getWhoId() {
        return $this->whoId;
    }
    
    public function setWhoId($whoId) {
        $this->whoId = $whoId;
    }
    
    /**
     * @return Array
     */
    public function getAttendees() {
        return $this->attendees;
    }
    
    public function setAttendees($attendees) {
        $this->attendees = $attendees;
    }
}

?>
